package com.servlet.JeuDeLaBiere;

import java.io.IOException;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.servlet.JeuDeLaBiere.Model.Humain;
import com.servlet.JeuDeLaBiere.Model.Main;
import com.servlet.JeuDeLaBiere.Model.Partie;

public class ServletCommander extends HttpServlet {

	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		ServletContext context = this.getServletContext();
		String nomPartie = req.getParameter("nomPartie");
		Partie maPartie = ((Main)context.getAttribute("Serveur")).getPartie(nomPartie);
		String nomJoueur = req.getParameter("nomJoueur");	
		Integer nbACommander = Integer.parseInt(req.getParameter("nbACommander").toString());
		System.out.println("nbACommander = "+nbACommander);
		((Humain)maPartie.getChaineLog().getEntiteLog(nomJoueur).getRespoEntiteLog()).setCommande(nbACommander);
		maPartie.getChaineLog().getEntiteLog(nomJoueur).setCommandeEnv(nbACommander, maPartie.getTour());
		maPartie.incrNbJoueurQuiOntPasseCommande();
		if(maPartie.getNbJoueurQuiOntPasseCommande()==maPartie.getNbJoueur()) {
			maPartie.passerTourSuivant();
		}
		req.setAttribute("nomPartie", nomPartie);
		req.setAttribute("nomJoueur", nomJoueur);
		req.setAttribute("maPartie", maPartie);	
		if(maPartie.getTour()==(maPartie.getNbTours()-3)) {
			req.getRequestDispatcher("jsp/results.jsp").forward(req, resp);
		}
		else {
			req.getRequestDispatcher("jsp/gamepage.jsp").forward(req, resp);
		}
	}
	
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);
	}
	
}
